﻿using System;
using System.ComponentModel;
using System.Reflection;
using System.Runtime.InteropServices;
using Teigha.Core;

namespace Teigha.TD
{
	public class OdIdFiler : OdDbDwgFiler
	{
		[EditorBrowsable(EditorBrowsableState.Never)]
		public OdIdFiler(IntPtr cPtr, bool cMemoryOwn) : base(TD_DbPINVOKE.OdIdFiler_SWIGUpcast(cPtr), cMemoryOwn)
		{
			this.swigCPtr = new HandleRef(this, cPtr);
		}

		[EditorBrowsable(EditorBrowsableState.Never)]
		public static HandleRef getCPtr(OdIdFiler obj)
		{
			if (obj != null)
			{
				return obj.swigCPtr;
			}
			return new HandleRef(null, IntPtr.Zero);
		}

		~OdIdFiler()
		{
			this.Dispose();
		}

		public override void Dispose()
		{
			if (this.swigCPtr.Handle != IntPtr.Zero)
			{
				if (this.swigCMemOwn)
				{
					lock (this.locker)
					{
						if (this.swigCPtr.Handle != IntPtr.Zero && this.swigCMemOwn)
						{
							this.swigCMemOwn = false;
							TD_DbPINVOKE.delete_OdIdFiler(this.swigCPtr);
						}
					}
					this.swigCMemOwn = false;
				}
				this.swigCPtr = new HandleRef(null, IntPtr.Zero);
			}
			GC.SuppressFinalize(this);
			base.Dispose();
		}

		public OdIdFiler() : this(TD_DbPINVOKE.new_OdIdFiler(), MemoryManager.GetMemoryManager().GetCurrentTransaction() == null)
		{
			MemoryTransaction currentTransaction = MemoryManager.GetMemoryManager().GetCurrentTransaction();
			if (currentTransaction != null)
			{
				currentTransaction.AddObject(new OdIdFiler(this.swigCPtr.Handle, true));
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			this.SwigDirectorConnect();
		}

		public new virtual void seek(int offset, FilerSeekType seekType)
		{
			if (this.SwigDerivedClassHasMethod("seek", OdIdFiler.swigMethodTypes10))
			{
				TD_DbPINVOKE.OdIdFiler_seekSwigExplicitOdIdFiler(this.swigCPtr, offset, (int)seekType);
			}
			else
			{
				TD_DbPINVOKE.OdIdFiler_seek(this.swigCPtr, offset, (int)seekType);
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public new virtual uint tell()
		{
			uint result = this.SwigDerivedClassHasMethod("tell", OdIdFiler.swigMethodTypes11) ? TD_DbPINVOKE.OdIdFiler_tellSwigExplicitOdIdFiler(this.swigCPtr) : TD_DbPINVOKE.OdIdFiler_tell(this.swigCPtr);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public new virtual OdResult filerStatus()
		{
			OdResult result = (OdResult)(this.SwigDerivedClassHasMethod("filerStatus", OdIdFiler.swigMethodTypes2) ? TD_DbPINVOKE.OdIdFiler_filerStatusSwigExplicitOdIdFiler(this.swigCPtr) : TD_DbPINVOKE.OdIdFiler_filerStatus(this.swigCPtr));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public new virtual void resetFilerStatus()
		{
			if (this.SwigDerivedClassHasMethod("resetFilerStatus", OdIdFiler.swigMethodTypes3))
			{
				TD_DbPINVOKE.OdIdFiler_resetFilerStatusSwigExplicitOdIdFiler(this.swigCPtr);
			}
			else
			{
				TD_DbPINVOKE.OdIdFiler_resetFilerStatus(this.swigCPtr);
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public new virtual OdDbFiler.FilerType filerType()
		{
			OdDbFiler.FilerType result = (OdDbFiler.FilerType)(this.SwigDerivedClassHasMethod("filerType", OdIdFiler.swigMethodTypes4) ? TD_DbPINVOKE.OdIdFiler_filerTypeSwigExplicitOdIdFiler(this.swigCPtr) : TD_DbPINVOKE.OdIdFiler_filerType(this.swigCPtr));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public new virtual DwgVersion dwgVersion(out MaintReleaseVer pMaintReleaseVer)
		{
			DwgVersion result = (DwgVersion)(this.SwigDerivedClassHasMethod("dwgVersion", OdIdFiler.swigMethodTypes6) ? TD_DbPINVOKE.OdIdFiler_dwgVersionSwigExplicitOdIdFiler__SWIG_0(this.swigCPtr, out pMaintReleaseVer) : TD_DbPINVOKE.OdIdFiler_dwgVersion__SWIG_0(this.swigCPtr, out pMaintReleaseVer));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public new virtual DwgVersion dwgVersion()
		{
			DwgVersion result = (DwgVersion)(this.SwigDerivedClassHasMethod("dwgVersion", OdIdFiler.swigMethodTypes7) ? TD_DbPINVOKE.OdIdFiler_dwgVersionSwigExplicitOdIdFiler__SWIG_1(this.swigCPtr) : TD_DbPINVOKE.OdIdFiler_dwgVersion__SWIG_1(this.swigCPtr));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public new virtual bool rdBool()
		{
			bool result = this.SwigDerivedClassHasMethod("rdBool", OdIdFiler.swigMethodTypes12) ? TD_DbPINVOKE.OdIdFiler_rdBoolSwigExplicitOdIdFiler(this.swigCPtr) : TD_DbPINVOKE.OdIdFiler_rdBool(this.swigCPtr);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public new virtual string rdString()
		{
			string result = this.SwigDerivedClassHasMethod("rdString", OdIdFiler.swigMethodTypes13) ? TD_DbPINVOKE.OdIdFiler_rdStringSwigExplicitOdIdFiler(this.swigCPtr) : TD_DbPINVOKE.OdIdFiler_rdString(this.swigCPtr);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public new virtual void rdBytes(IntPtr buffer, uint numBytes)
		{
			if (this.SwigDerivedClassHasMethod("rdBytes", OdIdFiler.swigMethodTypes14))
			{
				TD_DbPINVOKE.OdIdFiler_rdBytesSwigExplicitOdIdFiler(this.swigCPtr, buffer, numBytes);
			}
			else
			{
				TD_DbPINVOKE.OdIdFiler_rdBytes(this.swigCPtr, buffer, numBytes);
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public new virtual sbyte rdInt8()
		{
			sbyte result = this.SwigDerivedClassHasMethod("rdInt8", OdIdFiler.swigMethodTypes15) ? TD_DbPINVOKE.OdIdFiler_rdInt8SwigExplicitOdIdFiler(this.swigCPtr) : TD_DbPINVOKE.OdIdFiler_rdInt8(this.swigCPtr);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public new virtual byte rdUInt8()
		{
			byte result = this.SwigDerivedClassHasMethod("rdUInt8", OdIdFiler.swigMethodTypes16) ? TD_DbPINVOKE.OdIdFiler_rdUInt8SwigExplicitOdIdFiler(this.swigCPtr) : TD_DbPINVOKE.OdIdFiler_rdUInt8(this.swigCPtr);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public new virtual short rdInt16()
		{
			short result = this.SwigDerivedClassHasMethod("rdInt16", OdIdFiler.swigMethodTypes17) ? TD_DbPINVOKE.OdIdFiler_rdInt16SwigExplicitOdIdFiler(this.swigCPtr) : TD_DbPINVOKE.OdIdFiler_rdInt16(this.swigCPtr);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public new virtual int rdInt32()
		{
			int result = this.SwigDerivedClassHasMethod("rdInt32", OdIdFiler.swigMethodTypes18) ? TD_DbPINVOKE.OdIdFiler_rdInt32SwigExplicitOdIdFiler(this.swigCPtr) : TD_DbPINVOKE.OdIdFiler_rdInt32(this.swigCPtr);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public new virtual long rdInt64()
		{
			long result = this.SwigDerivedClassHasMethod("rdInt64", OdIdFiler.swigMethodTypes19) ? TD_DbPINVOKE.OdIdFiler_rdInt64SwigExplicitOdIdFiler(this.swigCPtr) : TD_DbPINVOKE.OdIdFiler_rdInt64(this.swigCPtr);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public new virtual double rdDouble()
		{
			double result = this.SwigDerivedClassHasMethod("rdDouble", OdIdFiler.swigMethodTypes21) ? TD_DbPINVOKE.OdIdFiler_rdDoubleSwigExplicitOdIdFiler(this.swigCPtr) : TD_DbPINVOKE.OdIdFiler_rdDouble(this.swigCPtr);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public new virtual OdDbHandle rdDbHandle()
		{
			OdDbHandle result = new OdDbHandle(this.SwigDerivedClassHasMethod("rdDbHandle", OdIdFiler.swigMethodTypes22) ? TD_DbPINVOKE.OdIdFiler_rdDbHandleSwigExplicitOdIdFiler(this.swigCPtr) : TD_DbPINVOKE.OdIdFiler_rdDbHandle(this.swigCPtr), true);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public new virtual OdDbObjectId rdSoftOwnershipId()
		{
			MemoryManager memoryManager = MemoryManager.GetMemoryManager();
			MemoryTransaction currentTransaction = memoryManager.GetCurrentTransaction();
			IntPtr cPtr = this.SwigDerivedClassHasMethod("rdSoftOwnershipId", OdIdFiler.swigMethodTypes23) ? TD_DbPINVOKE.OdIdFiler_rdSoftOwnershipIdSwigExplicitOdIdFiler(this.swigCPtr) : TD_DbPINVOKE.OdIdFiler_rdSoftOwnershipId(this.swigCPtr);
			OdDbObjectId result;
			if (currentTransaction != null)
			{
				currentTransaction.AddObject(new OdDbObjectId(cPtr, true));
				result = new OdDbObjectId(cPtr, false);
			}
			else
			{
				result = new OdDbObjectId(cPtr, true);
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public new virtual OdDbObjectId rdHardOwnershipId()
		{
			MemoryManager memoryManager = MemoryManager.GetMemoryManager();
			MemoryTransaction currentTransaction = memoryManager.GetCurrentTransaction();
			IntPtr cPtr = this.SwigDerivedClassHasMethod("rdHardOwnershipId", OdIdFiler.swigMethodTypes24) ? TD_DbPINVOKE.OdIdFiler_rdHardOwnershipIdSwigExplicitOdIdFiler(this.swigCPtr) : TD_DbPINVOKE.OdIdFiler_rdHardOwnershipId(this.swigCPtr);
			OdDbObjectId result;
			if (currentTransaction != null)
			{
				currentTransaction.AddObject(new OdDbObjectId(cPtr, true));
				result = new OdDbObjectId(cPtr, false);
			}
			else
			{
				result = new OdDbObjectId(cPtr, true);
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public new virtual OdDbObjectId rdHardPointerId()
		{
			MemoryManager memoryManager = MemoryManager.GetMemoryManager();
			MemoryTransaction currentTransaction = memoryManager.GetCurrentTransaction();
			IntPtr cPtr = this.SwigDerivedClassHasMethod("rdHardPointerId", OdIdFiler.swigMethodTypes25) ? TD_DbPINVOKE.OdIdFiler_rdHardPointerIdSwigExplicitOdIdFiler(this.swigCPtr) : TD_DbPINVOKE.OdIdFiler_rdHardPointerId(this.swigCPtr);
			OdDbObjectId result;
			if (currentTransaction != null)
			{
				currentTransaction.AddObject(new OdDbObjectId(cPtr, true));
				result = new OdDbObjectId(cPtr, false);
			}
			else
			{
				result = new OdDbObjectId(cPtr, true);
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public new virtual OdDbObjectId rdSoftPointerId()
		{
			MemoryManager memoryManager = MemoryManager.GetMemoryManager();
			MemoryTransaction currentTransaction = memoryManager.GetCurrentTransaction();
			IntPtr cPtr = this.SwigDerivedClassHasMethod("rdSoftPointerId", OdIdFiler.swigMethodTypes26) ? TD_DbPINVOKE.OdIdFiler_rdSoftPointerIdSwigExplicitOdIdFiler(this.swigCPtr) : TD_DbPINVOKE.OdIdFiler_rdSoftPointerId(this.swigCPtr);
			OdDbObjectId result;
			if (currentTransaction != null)
			{
				currentTransaction.AddObject(new OdDbObjectId(cPtr, true));
				result = new OdDbObjectId(cPtr, false);
			}
			else
			{
				result = new OdDbObjectId(cPtr, true);
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public new virtual OdGePoint2d rdPoint2d()
		{
			OdGePoint2d result = new OdGePoint2d(this.SwigDerivedClassHasMethod("rdPoint2d", OdIdFiler.swigMethodTypes27) ? TD_DbPINVOKE.OdIdFiler_rdPoint2dSwigExplicitOdIdFiler(this.swigCPtr) : TD_DbPINVOKE.OdIdFiler_rdPoint2d(this.swigCPtr), true);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public new virtual OdGePoint3d rdPoint3d()
		{
			OdGePoint3d result = new OdGePoint3d(this.SwigDerivedClassHasMethod("rdPoint3d", OdIdFiler.swigMethodTypes28) ? TD_DbPINVOKE.OdIdFiler_rdPoint3dSwigExplicitOdIdFiler(this.swigCPtr) : TD_DbPINVOKE.OdIdFiler_rdPoint3d(this.swigCPtr), true);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public new virtual OdGeVector3d rdVector3d()
		{
			OdGeVector3d result = new OdGeVector3d(this.SwigDerivedClassHasMethod("rdVector3d", OdIdFiler.swigMethodTypes30) ? TD_DbPINVOKE.OdIdFiler_rdVector3dSwigExplicitOdIdFiler(this.swigCPtr) : TD_DbPINVOKE.OdIdFiler_rdVector3d(this.swigCPtr), true);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public new virtual OdGeVector2d rdVector2d()
		{
			OdGeVector2d result = new OdGeVector2d(this.SwigDerivedClassHasMethod("rdVector2d", OdIdFiler.swigMethodTypes29) ? TD_DbPINVOKE.OdIdFiler_rdVector2dSwigExplicitOdIdFiler(this.swigCPtr) : TD_DbPINVOKE.OdIdFiler_rdVector2d(this.swigCPtr), true);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public new virtual OdGeScale3d rdScale3d()
		{
			OdGeScale3d result = new OdGeScale3d(this.SwigDerivedClassHasMethod("rdScale3d", OdIdFiler.swigMethodTypes31) ? TD_DbPINVOKE.OdIdFiler_rdScale3dSwigExplicitOdIdFiler(this.swigCPtr) : TD_DbPINVOKE.OdIdFiler_rdScale3d(this.swigCPtr), true);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public new virtual void wrBool(bool value)
		{
			if (this.SwigDerivedClassHasMethod("wrBool", OdIdFiler.swigMethodTypes32))
			{
				TD_DbPINVOKE.OdIdFiler_wrBoolSwigExplicitOdIdFiler(this.swigCPtr, value);
			}
			else
			{
				TD_DbPINVOKE.OdIdFiler_wrBool(this.swigCPtr, value);
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public new virtual void wrString(string value)
		{
			if (this.SwigDerivedClassHasMethod("wrString", OdIdFiler.swigMethodTypes33))
			{
				TD_DbPINVOKE.OdIdFiler_wrStringSwigExplicitOdIdFiler(this.swigCPtr, value);
			}
			else
			{
				TD_DbPINVOKE.OdIdFiler_wrString(this.swigCPtr, value);
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public new virtual void wrBytes(byte[] buffer)
		{
			IntPtr intPtr = Teigha.Core.Helpers.MarshalbyteFixedArray(buffer);
			try
			{
				if (this.SwigDerivedClassHasMethod("wrBytes", OdIdFiler.swigMethodTypes34))
				{
					TD_DbPINVOKE.OdIdFiler_wrBytesSwigExplicitOdIdFiler(this.swigCPtr, intPtr);
				}
				else
				{
					TD_DbPINVOKE.OdIdFiler_wrBytes(this.swigCPtr, intPtr);
				}
				if (TD_DbPINVOKE.SWIGPendingException.Pending)
				{
					throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
				}
			}
			finally
			{
				Marshal.FreeCoTaskMem(intPtr);
			}
		}

		public new virtual void wrInt8(sbyte value)
		{
			if (this.SwigDerivedClassHasMethod("wrInt8", OdIdFiler.swigMethodTypes35))
			{
				TD_DbPINVOKE.OdIdFiler_wrInt8SwigExplicitOdIdFiler(this.swigCPtr, value);
			}
			else
			{
				TD_DbPINVOKE.OdIdFiler_wrInt8(this.swigCPtr, value);
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public new virtual void wrUInt8(byte value)
		{
			if (this.SwigDerivedClassHasMethod("wrUInt8", OdIdFiler.swigMethodTypes36))
			{
				TD_DbPINVOKE.OdIdFiler_wrUInt8SwigExplicitOdIdFiler(this.swigCPtr, value);
			}
			else
			{
				TD_DbPINVOKE.OdIdFiler_wrUInt8(this.swigCPtr, value);
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public new virtual void wrInt16(short value)
		{
			if (this.SwigDerivedClassHasMethod("wrInt16", OdIdFiler.swigMethodTypes37))
			{
				TD_DbPINVOKE.OdIdFiler_wrInt16SwigExplicitOdIdFiler(this.swigCPtr, value);
			}
			else
			{
				TD_DbPINVOKE.OdIdFiler_wrInt16(this.swigCPtr, value);
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public new virtual void wrInt32(int value)
		{
			if (this.SwigDerivedClassHasMethod("wrInt32", OdIdFiler.swigMethodTypes38))
			{
				TD_DbPINVOKE.OdIdFiler_wrInt32SwigExplicitOdIdFiler(this.swigCPtr, value);
			}
			else
			{
				TD_DbPINVOKE.OdIdFiler_wrInt32(this.swigCPtr, value);
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public new virtual void wrInt64(long value)
		{
			if (this.SwigDerivedClassHasMethod("wrInt64", OdIdFiler.swigMethodTypes39))
			{
				TD_DbPINVOKE.OdIdFiler_wrInt64SwigExplicitOdIdFiler(this.swigCPtr, value);
			}
			else
			{
				TD_DbPINVOKE.OdIdFiler_wrInt64(this.swigCPtr, value);
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public new virtual void wrDouble(double value)
		{
			if (this.SwigDerivedClassHasMethod("wrDouble", OdIdFiler.swigMethodTypes41))
			{
				TD_DbPINVOKE.OdIdFiler_wrDoubleSwigExplicitOdIdFiler(this.swigCPtr, value);
			}
			else
			{
				TD_DbPINVOKE.OdIdFiler_wrDouble(this.swigCPtr, value);
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public new virtual void wrDbHandle(OdDbHandle value)
		{
			if (this.SwigDerivedClassHasMethod("wrDbHandle", OdIdFiler.swigMethodTypes42))
			{
				TD_DbPINVOKE.OdIdFiler_wrDbHandleSwigExplicitOdIdFiler(this.swigCPtr, OdDbHandle.getCPtr(value));
			}
			else
			{
				TD_DbPINVOKE.OdIdFiler_wrDbHandle(this.swigCPtr, OdDbHandle.getCPtr(value));
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public new virtual void wrPoint2d(OdGePoint2d value)
		{
			if (this.SwigDerivedClassHasMethod("wrPoint2d", OdIdFiler.swigMethodTypes47))
			{
				TD_DbPINVOKE.OdIdFiler_wrPoint2dSwigExplicitOdIdFiler(this.swigCPtr, OdGePoint2d.getCPtr(value));
			}
			else
			{
				TD_DbPINVOKE.OdIdFiler_wrPoint2d(this.swigCPtr, OdGePoint2d.getCPtr(value));
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public new virtual void wrPoint3d(OdGePoint3d value)
		{
			if (this.SwigDerivedClassHasMethod("wrPoint3d", OdIdFiler.swigMethodTypes48))
			{
				TD_DbPINVOKE.OdIdFiler_wrPoint3dSwigExplicitOdIdFiler(this.swigCPtr, OdGePoint3d.getCPtr(value));
			}
			else
			{
				TD_DbPINVOKE.OdIdFiler_wrPoint3d(this.swigCPtr, OdGePoint3d.getCPtr(value));
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public new virtual void wrVector2d(OdGeVector2d value)
		{
			if (this.SwigDerivedClassHasMethod("wrVector2d", OdIdFiler.swigMethodTypes49))
			{
				TD_DbPINVOKE.OdIdFiler_wrVector2dSwigExplicitOdIdFiler(this.swigCPtr, OdGeVector2d.getCPtr(value).Handle);
			}
			else
			{
				TD_DbPINVOKE.OdIdFiler_wrVector2d(this.swigCPtr, OdGeVector2d.getCPtr(value).Handle);
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public new virtual void wrVector3d(OdGeVector3d value)
		{
			if (this.SwigDerivedClassHasMethod("wrVector3d", OdIdFiler.swigMethodTypes50))
			{
				TD_DbPINVOKE.OdIdFiler_wrVector3dSwigExplicitOdIdFiler(this.swigCPtr, OdGeVector3d.getCPtr(value));
			}
			else
			{
				TD_DbPINVOKE.OdIdFiler_wrVector3d(this.swigCPtr, OdGeVector3d.getCPtr(value));
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public new virtual void wrScale3d(OdGeScale3d value)
		{
			if (this.SwigDerivedClassHasMethod("wrScale3d", OdIdFiler.swigMethodTypes51))
			{
				TD_DbPINVOKE.OdIdFiler_wrScale3dSwigExplicitOdIdFiler(this.swigCPtr, OdGeScale3d.getCPtr(value));
			}
			else
			{
				TD_DbPINVOKE.OdIdFiler_wrScale3d(this.swigCPtr, OdGeScale3d.getCPtr(value));
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public new virtual void setController(OdDbFilerController pFilerController)
		{
			if (this.SwigDerivedClassHasMethod("setController", OdIdFiler.swigMethodTypes8))
			{
				TD_DbPINVOKE.OdIdFiler_setControllerSwigExplicitOdIdFiler(this.swigCPtr, OdDbFilerController.getCPtr(pFilerController));
			}
			else
			{
				TD_DbPINVOKE.OdIdFiler_setController(this.swigCPtr, OdDbFilerController.getCPtr(pFilerController));
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public new virtual OdDbFilerController controller()
		{
			IntPtr intPtr = this.SwigDerivedClassHasMethod("controller", OdIdFiler.swigMethodTypes9) ? TD_DbPINVOKE.OdIdFiler_controllerSwigExplicitOdIdFiler(this.swigCPtr) : TD_DbPINVOKE.OdIdFiler_controller(this.swigCPtr);
			OdDbFilerController result = (intPtr == IntPtr.Zero) ? null : new OdDbFilerController(intPtr, false);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		private void SwigDirectorConnect()
		{
			if (this.SwigDerivedClassHasMethod("queryX", OdIdFiler.swigMethodTypes0))
			{
				this.swigDelegate0 = new OdIdFiler.SwigDelegateOdIdFiler_0(this.SwigDirectorqueryX);
			}
			if (this.SwigDerivedClassHasMethod("isA", OdIdFiler.swigMethodTypes1))
			{
				this.swigDelegate1 = new OdIdFiler.SwigDelegateOdIdFiler_1(this.SwigDirectorisA);
			}
			if (this.SwigDerivedClassHasMethod("filerStatus", OdIdFiler.swigMethodTypes2))
			{
				this.swigDelegate2 = new OdIdFiler.SwigDelegateOdIdFiler_2(this.SwigDirectorfilerStatus);
			}
			if (this.SwigDerivedClassHasMethod("resetFilerStatus", OdIdFiler.swigMethodTypes3))
			{
				this.swigDelegate3 = new OdIdFiler.SwigDelegateOdIdFiler_3(this.SwigDirectorresetFilerStatus);
			}
			if (this.SwigDerivedClassHasMethod("filerType", OdIdFiler.swigMethodTypes4))
			{
				this.swigDelegate4 = new OdIdFiler.SwigDelegateOdIdFiler_4(this.SwigDirectorfilerType);
			}
			if (this.SwigDerivedClassHasMethod("database", OdIdFiler.swigMethodTypes5))
			{
				this.swigDelegate5 = new OdIdFiler.SwigDelegateOdIdFiler_5(this.SwigDirectordatabase);
			}
			if (this.SwigDerivedClassHasMethod("dwgVersion", OdIdFiler.swigMethodTypes6))
			{
				this.swigDelegate6 = new OdIdFiler.SwigDelegateOdIdFiler_6(this.SwigDirectordwgVersion__SWIG_0);
			}
			if (this.SwigDerivedClassHasMethod("dwgVersion", OdIdFiler.swigMethodTypes7))
			{
				this.swigDelegate7 = new OdIdFiler.SwigDelegateOdIdFiler_7(this.SwigDirectordwgVersion__SWIG_1);
			}
			if (this.SwigDerivedClassHasMethod("setController", OdIdFiler.swigMethodTypes8))
			{
				this.swigDelegate8 = new OdIdFiler.SwigDelegateOdIdFiler_8(this.SwigDirectorsetController);
			}
			if (this.SwigDerivedClassHasMethod("controller", OdIdFiler.swigMethodTypes9))
			{
				this.swigDelegate9 = new OdIdFiler.SwigDelegateOdIdFiler_9(this.SwigDirectorcontroller);
			}
			if (this.SwigDerivedClassHasMethod("seek", OdIdFiler.swigMethodTypes10))
			{
				this.swigDelegate10 = new OdIdFiler.SwigDelegateOdIdFiler_10(this.SwigDirectorseek);
			}
			if (this.SwigDerivedClassHasMethod("tell", OdIdFiler.swigMethodTypes11))
			{
				this.swigDelegate11 = new OdIdFiler.SwigDelegateOdIdFiler_11(this.SwigDirectortell);
			}
			if (this.SwigDerivedClassHasMethod("rdBool", OdIdFiler.swigMethodTypes12))
			{
				this.swigDelegate12 = new OdIdFiler.SwigDelegateOdIdFiler_12(this.SwigDirectorrdBool);
			}
			if (this.SwigDerivedClassHasMethod("rdString", OdIdFiler.swigMethodTypes13))
			{
				this.swigDelegate13 = new OdIdFiler.SwigDelegateOdIdFiler_13(this.SwigDirectorrdString);
			}
			if (this.SwigDerivedClassHasMethod("rdBytes", OdIdFiler.swigMethodTypes14))
			{
				this.swigDelegate14 = new OdIdFiler.SwigDelegateOdIdFiler_14(this.SwigDirectorrdBytes);
			}
			if (this.SwigDerivedClassHasMethod("rdInt8", OdIdFiler.swigMethodTypes15))
			{
				this.swigDelegate15 = new OdIdFiler.SwigDelegateOdIdFiler_15(this.SwigDirectorrdInt8);
			}
			if (this.SwigDerivedClassHasMethod("rdUInt8", OdIdFiler.swigMethodTypes16))
			{
				this.swigDelegate16 = new OdIdFiler.SwigDelegateOdIdFiler_16(this.SwigDirectorrdUInt8);
			}
			if (this.SwigDerivedClassHasMethod("rdInt16", OdIdFiler.swigMethodTypes17))
			{
				this.swigDelegate17 = new OdIdFiler.SwigDelegateOdIdFiler_17(this.SwigDirectorrdInt16);
			}
			if (this.SwigDerivedClassHasMethod("rdInt32", OdIdFiler.swigMethodTypes18))
			{
				this.swigDelegate18 = new OdIdFiler.SwigDelegateOdIdFiler_18(this.SwigDirectorrdInt32);
			}
			if (this.SwigDerivedClassHasMethod("rdInt64", OdIdFiler.swigMethodTypes19))
			{
				this.swigDelegate19 = new OdIdFiler.SwigDelegateOdIdFiler_19(this.SwigDirectorrdInt64);
			}
			if (this.SwigDerivedClassHasMethod("rdAddress", OdIdFiler.swigMethodTypes20))
			{
				this.swigDelegate20 = new OdIdFiler.SwigDelegateOdIdFiler_20(this.SwigDirectorrdAddress);
			}
			if (this.SwigDerivedClassHasMethod("rdDouble", OdIdFiler.swigMethodTypes21))
			{
				this.swigDelegate21 = new OdIdFiler.SwigDelegateOdIdFiler_21(this.SwigDirectorrdDouble);
			}
			if (this.SwigDerivedClassHasMethod("rdDbHandle", OdIdFiler.swigMethodTypes22))
			{
				this.swigDelegate22 = new OdIdFiler.SwigDelegateOdIdFiler_22(this.SwigDirectorrdDbHandle);
			}
			if (this.SwigDerivedClassHasMethod("rdSoftOwnershipId", OdIdFiler.swigMethodTypes23))
			{
				this.swigDelegate23 = new OdIdFiler.SwigDelegateOdIdFiler_23(this.SwigDirectorrdSoftOwnershipId);
			}
			if (this.SwigDerivedClassHasMethod("rdHardOwnershipId", OdIdFiler.swigMethodTypes24))
			{
				this.swigDelegate24 = new OdIdFiler.SwigDelegateOdIdFiler_24(this.SwigDirectorrdHardOwnershipId);
			}
			if (this.SwigDerivedClassHasMethod("rdHardPointerId", OdIdFiler.swigMethodTypes25))
			{
				this.swigDelegate25 = new OdIdFiler.SwigDelegateOdIdFiler_25(this.SwigDirectorrdHardPointerId);
			}
			if (this.SwigDerivedClassHasMethod("rdSoftPointerId", OdIdFiler.swigMethodTypes26))
			{
				this.swigDelegate26 = new OdIdFiler.SwigDelegateOdIdFiler_26(this.SwigDirectorrdSoftPointerId);
			}
			if (this.SwigDerivedClassHasMethod("rdPoint2d", OdIdFiler.swigMethodTypes27))
			{
				this.swigDelegate27 = new OdIdFiler.SwigDelegateOdIdFiler_27(this.SwigDirectorrdPoint2d);
			}
			if (this.SwigDerivedClassHasMethod("rdPoint3d", OdIdFiler.swigMethodTypes28))
			{
				this.swigDelegate28 = new OdIdFiler.SwigDelegateOdIdFiler_28(this.SwigDirectorrdPoint3d);
			}
			if (this.SwigDerivedClassHasMethod("rdVector2d", OdIdFiler.swigMethodTypes29))
			{
				this.swigDelegate29 = new OdIdFiler.SwigDelegateOdIdFiler_29(this.SwigDirectorrdVector2d);
			}
			if (this.SwigDerivedClassHasMethod("rdVector3d", OdIdFiler.swigMethodTypes30))
			{
				this.swigDelegate30 = new OdIdFiler.SwigDelegateOdIdFiler_30(this.SwigDirectorrdVector3d);
			}
			if (this.SwigDerivedClassHasMethod("rdScale3d", OdIdFiler.swigMethodTypes31))
			{
				this.swigDelegate31 = new OdIdFiler.SwigDelegateOdIdFiler_31(this.SwigDirectorrdScale3d);
			}
			if (this.SwigDerivedClassHasMethod("wrBool", OdIdFiler.swigMethodTypes32))
			{
				this.swigDelegate32 = new OdIdFiler.SwigDelegateOdIdFiler_32(this.SwigDirectorwrBool);
			}
			if (this.SwigDerivedClassHasMethod("wrString", OdIdFiler.swigMethodTypes33))
			{
				this.swigDelegate33 = new OdIdFiler.SwigDelegateOdIdFiler_33(this.SwigDirectorwrString);
			}
			if (this.SwigDerivedClassHasMethod("wrBytes", OdIdFiler.swigMethodTypes34))
			{
				this.swigDelegate34 = new OdIdFiler.SwigDelegateOdIdFiler_34(this.SwigDirectorwrBytes);
			}
			if (this.SwigDerivedClassHasMethod("wrInt8", OdIdFiler.swigMethodTypes35))
			{
				this.swigDelegate35 = new OdIdFiler.SwigDelegateOdIdFiler_35(this.SwigDirectorwrInt8);
			}
			if (this.SwigDerivedClassHasMethod("wrUInt8", OdIdFiler.swigMethodTypes36))
			{
				this.swigDelegate36 = new OdIdFiler.SwigDelegateOdIdFiler_36(this.SwigDirectorwrUInt8);
			}
			if (this.SwigDerivedClassHasMethod("wrInt16", OdIdFiler.swigMethodTypes37))
			{
				this.swigDelegate37 = new OdIdFiler.SwigDelegateOdIdFiler_37(this.SwigDirectorwrInt16);
			}
			if (this.SwigDerivedClassHasMethod("wrInt32", OdIdFiler.swigMethodTypes38))
			{
				this.swigDelegate38 = new OdIdFiler.SwigDelegateOdIdFiler_38(this.SwigDirectorwrInt32);
			}
			if (this.SwigDerivedClassHasMethod("wrInt64", OdIdFiler.swigMethodTypes39))
			{
				this.swigDelegate39 = new OdIdFiler.SwigDelegateOdIdFiler_39(this.SwigDirectorwrInt64);
			}
			if (this.SwigDerivedClassHasMethod("wrAddress", OdIdFiler.swigMethodTypes40))
			{
				this.swigDelegate40 = new OdIdFiler.SwigDelegateOdIdFiler_40(this.SwigDirectorwrAddress);
			}
			if (this.SwigDerivedClassHasMethod("wrDouble", OdIdFiler.swigMethodTypes41))
			{
				this.swigDelegate41 = new OdIdFiler.SwigDelegateOdIdFiler_41(this.SwigDirectorwrDouble);
			}
			if (this.SwigDerivedClassHasMethod("wrDbHandle", OdIdFiler.swigMethodTypes42))
			{
				this.swigDelegate42 = new OdIdFiler.SwigDelegateOdIdFiler_42(this.SwigDirectorwrDbHandle);
			}
			if (this.SwigDerivedClassHasMethod("wrSoftOwnershipId", OdIdFiler.swigMethodTypes43))
			{
				this.swigDelegate43 = new OdIdFiler.SwigDelegateOdIdFiler_43(this.SwigDirectorwrSoftOwnershipId);
			}
			if (this.SwigDerivedClassHasMethod("wrHardOwnershipId", OdIdFiler.swigMethodTypes44))
			{
				this.swigDelegate44 = new OdIdFiler.SwigDelegateOdIdFiler_44(this.SwigDirectorwrHardOwnershipId);
			}
			if (this.SwigDerivedClassHasMethod("wrSoftPointerId", OdIdFiler.swigMethodTypes45))
			{
				this.swigDelegate45 = new OdIdFiler.SwigDelegateOdIdFiler_45(this.SwigDirectorwrSoftPointerId);
			}
			if (this.SwigDerivedClassHasMethod("wrHardPointerId", OdIdFiler.swigMethodTypes46))
			{
				this.swigDelegate46 = new OdIdFiler.SwigDelegateOdIdFiler_46(this.SwigDirectorwrHardPointerId);
			}
			if (this.SwigDerivedClassHasMethod("wrPoint2d", OdIdFiler.swigMethodTypes47))
			{
				this.swigDelegate47 = new OdIdFiler.SwigDelegateOdIdFiler_47(this.SwigDirectorwrPoint2d);
			}
			if (this.SwigDerivedClassHasMethod("wrPoint3d", OdIdFiler.swigMethodTypes48))
			{
				this.swigDelegate48 = new OdIdFiler.SwigDelegateOdIdFiler_48(this.SwigDirectorwrPoint3d);
			}
			if (this.SwigDerivedClassHasMethod("wrVector2d", OdIdFiler.swigMethodTypes49))
			{
				this.swigDelegate49 = new OdIdFiler.SwigDelegateOdIdFiler_49(this.SwigDirectorwrVector2d);
			}
			if (this.SwigDerivedClassHasMethod("wrVector3d", OdIdFiler.swigMethodTypes50))
			{
				this.swigDelegate50 = new OdIdFiler.SwigDelegateOdIdFiler_50(this.SwigDirectorwrVector3d);
			}
			if (this.SwigDerivedClassHasMethod("wrScale3d", OdIdFiler.swigMethodTypes51))
			{
				this.swigDelegate51 = new OdIdFiler.SwigDelegateOdIdFiler_51(this.SwigDirectorwrScale3d);
			}
			if (this.SwigDerivedClassHasMethod("usesReferences", OdIdFiler.swigMethodTypes52))
			{
				this.swigDelegate52 = new OdIdFiler.SwigDelegateOdIdFiler_52(this.SwigDirectorusesReferences);
			}
			if (this.SwigDerivedClassHasMethod("addReference", OdIdFiler.swigMethodTypes53))
			{
				this.swigDelegate53 = new OdIdFiler.SwigDelegateOdIdFiler_53(this.SwigDirectoraddReference);
			}
			TD_DbPINVOKE.OdIdFiler_director_connect(this.swigCPtr, this.swigDelegate0, this.swigDelegate1, this.swigDelegate2, this.swigDelegate3, this.swigDelegate4, this.swigDelegate5, this.swigDelegate6, this.swigDelegate7, this.swigDelegate8, this.swigDelegate9, this.swigDelegate10, this.swigDelegate11, this.swigDelegate12, this.swigDelegate13, this.swigDelegate14, this.swigDelegate15, this.swigDelegate16, this.swigDelegate17, this.swigDelegate18, this.swigDelegate19, this.swigDelegate20, this.swigDelegate21, this.swigDelegate22, this.swigDelegate23, this.swigDelegate24, this.swigDelegate25, this.swigDelegate26, this.swigDelegate27, this.swigDelegate28, this.swigDelegate29, this.swigDelegate30, this.swigDelegate31, this.swigDelegate32, this.swigDelegate33, this.swigDelegate34, this.swigDelegate35, this.swigDelegate36, this.swigDelegate37, this.swigDelegate38, this.swigDelegate39, this.swigDelegate40, this.swigDelegate41, this.swigDelegate42, this.swigDelegate43, this.swigDelegate44, this.swigDelegate45, this.swigDelegate46, this.swigDelegate47, this.swigDelegate48, this.swigDelegate49, this.swigDelegate50, this.swigDelegate51, this.swigDelegate52, this.swigDelegate53);
		}

		private bool SwigDerivedClassHasMethod(string methodName, Type[] methodTypes)
		{
			MethodInfo method = base.GetType().GetMethod(methodName, BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic, null, methodTypes, null);
			return method.DeclaringType.IsSubclassOf(typeof(OdIdFiler));
		}

		private IntPtr SwigDirectorqueryX(IntPtr protocolClass)
		{
			return OdRxObject.getCPtr(this.queryX((OdRxClass)Teigha.Core.Helpers.odrxCreateObjectInternal(protocolClass, false))).Handle;
		}

		private IntPtr SwigDirectorisA()
		{
			return OdRxClass.getCPtr(this.isA()).Handle;
		}

		private int SwigDirectorfilerStatus()
		{
			return (int)this.filerStatus();
		}

		private void SwigDirectorresetFilerStatus()
		{
			this.resetFilerStatus();
		}

		private int SwigDirectorfilerType()
		{
			return (int)this.filerType();
		}

		private IntPtr SwigDirectordatabase()
		{
			return OdDbDatabase.getCPtr(this.database()).Handle;
		}

		private int SwigDirectordwgVersion__SWIG_0(MaintReleaseVer pMaintReleaseVer)
		{
			return (int)this.dwgVersion(out pMaintReleaseVer);
		}

		private int SwigDirectordwgVersion__SWIG_1()
		{
			return (int)this.dwgVersion();
		}

		private void SwigDirectorsetController(IntPtr pFilerController)
		{
			this.setController((pFilerController == IntPtr.Zero) ? null : new OdDbFilerController(pFilerController, false));
		}

		private IntPtr SwigDirectorcontroller()
		{
			return OdDbFilerController.getCPtr(this.controller()).Handle;
		}

		private void SwigDirectorseek(int offset, int seekType)
		{
			this.seek(offset, (FilerSeekType)seekType);
		}

		private uint SwigDirectortell()
		{
			return this.tell();
		}

		private bool SwigDirectorrdBool()
		{
			return this.rdBool();
		}

		[return: MarshalAs(UnmanagedType.LPWStr)]
		private string SwigDirectorrdString()
		{
			return this.rdString();
		}

		private void SwigDirectorrdBytes(IntPtr buffer, uint numBytes)
		{
			this.rdBytes(buffer, numBytes);
		}

		private sbyte SwigDirectorrdInt8()
		{
			return this.rdInt8();
		}

		private byte SwigDirectorrdUInt8()
		{
			return this.rdUInt8();
		}

		private short SwigDirectorrdInt16()
		{
			return this.rdInt16();
		}

		private int SwigDirectorrdInt32()
		{
			return this.rdInt32();
		}

		private long SwigDirectorrdInt64()
		{
			return this.rdInt64();
		}

		private IntPtr SwigDirectorrdAddress()
		{
			return this.rdAddress();
		}

		private double SwigDirectorrdDouble()
		{
			return this.rdDouble();
		}

		private IntPtr SwigDirectorrdDbHandle()
		{
			return OdDbHandle.getCPtr(this.rdDbHandle()).Handle;
		}

		private IntPtr SwigDirectorrdSoftOwnershipId()
		{
			return OdDbObjectId.getCPtr(this.rdSoftOwnershipId()).Handle;
		}

		private IntPtr SwigDirectorrdHardOwnershipId()
		{
			return OdDbObjectId.getCPtr(this.rdHardOwnershipId()).Handle;
		}

		private IntPtr SwigDirectorrdHardPointerId()
		{
			return OdDbObjectId.getCPtr(this.rdHardPointerId()).Handle;
		}

		private IntPtr SwigDirectorrdSoftPointerId()
		{
			return OdDbObjectId.getCPtr(this.rdSoftPointerId()).Handle;
		}

		private IntPtr SwigDirectorrdPoint2d()
		{
			return OdGePoint2d.getCPtr(this.rdPoint2d()).Handle;
		}

		private IntPtr SwigDirectorrdPoint3d()
		{
			return OdGePoint3d.getCPtr(this.rdPoint3d()).Handle;
		}

		private IntPtr SwigDirectorrdVector2d()
		{
			return OdGeVector2d.getCPtr(this.rdVector2d()).Handle;
		}

		private IntPtr SwigDirectorrdVector3d()
		{
			return OdGeVector3d.getCPtr(this.rdVector3d()).Handle;
		}

		private IntPtr SwigDirectorrdScale3d()
		{
			return OdGeScale3d.getCPtr(this.rdScale3d()).Handle;
		}

		private void SwigDirectorwrBool(bool value)
		{
			this.wrBool(value);
		}

		private void SwigDirectorwrString([MarshalAs(UnmanagedType.LPWStr)] string value)
		{
			this.wrString(value);
		}

		private void SwigDirectorwrBytes(IntPtr buffer)
		{
			this.wrBytes(Teigha.Core.Helpers.UnMarshalbyteFixedArray(buffer));
		}

		private void SwigDirectorwrInt8(sbyte value)
		{
			this.wrInt8(value);
		}

		private void SwigDirectorwrUInt8(byte value)
		{
			this.wrUInt8(value);
		}

		private void SwigDirectorwrInt16(short value)
		{
			this.wrInt16(value);
		}

		private void SwigDirectorwrInt32(int value)
		{
			this.wrInt32(value);
		}

		private void SwigDirectorwrInt64(long value)
		{
			this.wrInt64(value);
		}

		private void SwigDirectorwrAddress(IntPtr value)
		{
			this.wrAddress(value);
		}

		private void SwigDirectorwrDouble(double value)
		{
			this.wrDouble(value);
		}

		private void SwigDirectorwrDbHandle(IntPtr value)
		{
			this.wrDbHandle(new OdDbHandle(value, false));
		}

		private void SwigDirectorwrSoftOwnershipId(IntPtr value)
		{
			this.wrSoftOwnershipId(new OdDbObjectId(value, false));
		}

		private void SwigDirectorwrHardOwnershipId(IntPtr value)
		{
			this.wrHardOwnershipId(new OdDbObjectId(value, false));
		}

		private void SwigDirectorwrSoftPointerId(IntPtr value)
		{
			this.wrSoftPointerId(new OdDbObjectId(value, false));
		}

		private void SwigDirectorwrHardPointerId(IntPtr value)
		{
			this.wrHardPointerId(new OdDbObjectId(value, false));
		}

		private void SwigDirectorwrPoint2d(IntPtr value)
		{
			this.wrPoint2d(new OdGePoint2d(value, false));
		}

		private void SwigDirectorwrPoint3d(IntPtr value)
		{
			this.wrPoint3d(new OdGePoint3d(value, false));
		}

		private void SwigDirectorwrVector2d(IntPtr value)
		{
			this.wrVector2d(new OdGeVector2d(value, true));
		}

		private void SwigDirectorwrVector3d(IntPtr value)
		{
			this.wrVector3d(new OdGeVector3d(value, false));
		}

		private void SwigDirectorwrScale3d(IntPtr value)
		{
			this.wrScale3d(new OdGeScale3d(value, false));
		}

		private bool SwigDirectorusesReferences()
		{
			return this.usesReferences();
		}

		private void SwigDirectoraddReference(IntPtr id, int rt)
		{
			this.addReference(new OdDbObjectId(id, false), (ReferenceType)rt);
		}

		private object locker = new object();

		private HandleRef swigCPtr;

		private OdIdFiler.SwigDelegateOdIdFiler_0 swigDelegate0;

		private OdIdFiler.SwigDelegateOdIdFiler_1 swigDelegate1;

		private OdIdFiler.SwigDelegateOdIdFiler_2 swigDelegate2;

		private OdIdFiler.SwigDelegateOdIdFiler_3 swigDelegate3;

		private OdIdFiler.SwigDelegateOdIdFiler_4 swigDelegate4;

		private OdIdFiler.SwigDelegateOdIdFiler_5 swigDelegate5;

		private OdIdFiler.SwigDelegateOdIdFiler_6 swigDelegate6;

		private OdIdFiler.SwigDelegateOdIdFiler_7 swigDelegate7;

		private OdIdFiler.SwigDelegateOdIdFiler_8 swigDelegate8;

		private OdIdFiler.SwigDelegateOdIdFiler_9 swigDelegate9;

		private OdIdFiler.SwigDelegateOdIdFiler_10 swigDelegate10;

		private OdIdFiler.SwigDelegateOdIdFiler_11 swigDelegate11;

		private OdIdFiler.SwigDelegateOdIdFiler_12 swigDelegate12;

		private OdIdFiler.SwigDelegateOdIdFiler_13 swigDelegate13;

		private OdIdFiler.SwigDelegateOdIdFiler_14 swigDelegate14;

		private OdIdFiler.SwigDelegateOdIdFiler_15 swigDelegate15;

		private OdIdFiler.SwigDelegateOdIdFiler_16 swigDelegate16;

		private OdIdFiler.SwigDelegateOdIdFiler_17 swigDelegate17;

		private OdIdFiler.SwigDelegateOdIdFiler_18 swigDelegate18;

		private OdIdFiler.SwigDelegateOdIdFiler_19 swigDelegate19;

		private OdIdFiler.SwigDelegateOdIdFiler_20 swigDelegate20;

		private OdIdFiler.SwigDelegateOdIdFiler_21 swigDelegate21;

		private OdIdFiler.SwigDelegateOdIdFiler_22 swigDelegate22;

		private OdIdFiler.SwigDelegateOdIdFiler_23 swigDelegate23;

		private OdIdFiler.SwigDelegateOdIdFiler_24 swigDelegate24;

		private OdIdFiler.SwigDelegateOdIdFiler_25 swigDelegate25;

		private OdIdFiler.SwigDelegateOdIdFiler_26 swigDelegate26;

		private OdIdFiler.SwigDelegateOdIdFiler_27 swigDelegate27;

		private OdIdFiler.SwigDelegateOdIdFiler_28 swigDelegate28;

		private OdIdFiler.SwigDelegateOdIdFiler_29 swigDelegate29;

		private OdIdFiler.SwigDelegateOdIdFiler_30 swigDelegate30;

		private OdIdFiler.SwigDelegateOdIdFiler_31 swigDelegate31;

		private OdIdFiler.SwigDelegateOdIdFiler_32 swigDelegate32;

		private OdIdFiler.SwigDelegateOdIdFiler_33 swigDelegate33;

		private OdIdFiler.SwigDelegateOdIdFiler_34 swigDelegate34;

		private OdIdFiler.SwigDelegateOdIdFiler_35 swigDelegate35;

		private OdIdFiler.SwigDelegateOdIdFiler_36 swigDelegate36;

		private OdIdFiler.SwigDelegateOdIdFiler_37 swigDelegate37;

		private OdIdFiler.SwigDelegateOdIdFiler_38 swigDelegate38;

		private OdIdFiler.SwigDelegateOdIdFiler_39 swigDelegate39;

		private OdIdFiler.SwigDelegateOdIdFiler_40 swigDelegate40;

		private OdIdFiler.SwigDelegateOdIdFiler_41 swigDelegate41;

		private OdIdFiler.SwigDelegateOdIdFiler_42 swigDelegate42;

		private OdIdFiler.SwigDelegateOdIdFiler_43 swigDelegate43;

		private OdIdFiler.SwigDelegateOdIdFiler_44 swigDelegate44;

		private OdIdFiler.SwigDelegateOdIdFiler_45 swigDelegate45;

		private OdIdFiler.SwigDelegateOdIdFiler_46 swigDelegate46;

		private OdIdFiler.SwigDelegateOdIdFiler_47 swigDelegate47;

		private OdIdFiler.SwigDelegateOdIdFiler_48 swigDelegate48;

		private OdIdFiler.SwigDelegateOdIdFiler_49 swigDelegate49;

		private OdIdFiler.SwigDelegateOdIdFiler_50 swigDelegate50;

		private OdIdFiler.SwigDelegateOdIdFiler_51 swigDelegate51;

		private OdIdFiler.SwigDelegateOdIdFiler_52 swigDelegate52;

		private OdIdFiler.SwigDelegateOdIdFiler_53 swigDelegate53;

		private static Type[] swigMethodTypes0 = new Type[]
		{
			typeof(OdRxClass)
		};

		private static Type[] swigMethodTypes1 = new Type[0];

		private static Type[] swigMethodTypes2 = new Type[0];

		private static Type[] swigMethodTypes3 = new Type[0];

		private static Type[] swigMethodTypes4 = new Type[0];

		private static Type[] swigMethodTypes5 = new Type[0];

		private static Type[] swigMethodTypes6 = new Type[]
		{
			typeof(MaintReleaseVer).MakeByRefType()
		};

		private static Type[] swigMethodTypes7 = new Type[0];

		private static Type[] swigMethodTypes8 = new Type[]
		{
			typeof(OdDbFilerController)
		};

		private static Type[] swigMethodTypes9 = new Type[0];

		private static Type[] swigMethodTypes10 = new Type[]
		{
			typeof(int),
			typeof(FilerSeekType)
		};

		private static Type[] swigMethodTypes11 = new Type[0];

		private static Type[] swigMethodTypes12 = new Type[0];

		private static Type[] swigMethodTypes13 = new Type[0];

		private static Type[] swigMethodTypes14 = new Type[]
		{
			typeof(IntPtr),
			typeof(uint)
		};

		private static Type[] swigMethodTypes15 = new Type[0];

		private static Type[] swigMethodTypes16 = new Type[0];

		private static Type[] swigMethodTypes17 = new Type[0];

		private static Type[] swigMethodTypes18 = new Type[0];

		private static Type[] swigMethodTypes19 = new Type[0];

		private static Type[] swigMethodTypes20 = new Type[0];

		private static Type[] swigMethodTypes21 = new Type[0];

		private static Type[] swigMethodTypes22 = new Type[0];

		private static Type[] swigMethodTypes23 = new Type[0];

		private static Type[] swigMethodTypes24 = new Type[0];

		private static Type[] swigMethodTypes25 = new Type[0];

		private static Type[] swigMethodTypes26 = new Type[0];

		private static Type[] swigMethodTypes27 = new Type[0];

		private static Type[] swigMethodTypes28 = new Type[0];

		private static Type[] swigMethodTypes29 = new Type[0];

		private static Type[] swigMethodTypes30 = new Type[0];

		private static Type[] swigMethodTypes31 = new Type[0];

		private static Type[] swigMethodTypes32 = new Type[]
		{
			typeof(bool)
		};

		private static Type[] swigMethodTypes33 = new Type[]
		{
			typeof(string)
		};

		private static Type[] swigMethodTypes34 = new Type[]
		{
			typeof(byte[])
		};

		private static Type[] swigMethodTypes35 = new Type[]
		{
			typeof(sbyte)
		};

		private static Type[] swigMethodTypes36 = new Type[]
		{
			typeof(byte)
		};

		private static Type[] swigMethodTypes37 = new Type[]
		{
			typeof(short)
		};

		private static Type[] swigMethodTypes38 = new Type[]
		{
			typeof(int)
		};

		private static Type[] swigMethodTypes39 = new Type[]
		{
			typeof(long)
		};

		private static Type[] swigMethodTypes40 = new Type[]
		{
			typeof(IntPtr)
		};

		private static Type[] swigMethodTypes41 = new Type[]
		{
			typeof(double)
		};

		private static Type[] swigMethodTypes42 = new Type[]
		{
			typeof(OdDbHandle)
		};

		private static Type[] swigMethodTypes43 = new Type[]
		{
			typeof(OdDbObjectId)
		};

		private static Type[] swigMethodTypes44 = new Type[]
		{
			typeof(OdDbObjectId)
		};

		private static Type[] swigMethodTypes45 = new Type[]
		{
			typeof(OdDbObjectId)
		};

		private static Type[] swigMethodTypes46 = new Type[]
		{
			typeof(OdDbObjectId)
		};

		private static Type[] swigMethodTypes47 = new Type[]
		{
			typeof(OdGePoint2d)
		};

		private static Type[] swigMethodTypes48 = new Type[]
		{
			typeof(OdGePoint3d)
		};

		private static Type[] swigMethodTypes49 = new Type[]
		{
			typeof(OdGeVector2d)
		};

		private static Type[] swigMethodTypes50 = new Type[]
		{
			typeof(OdGeVector3d)
		};

		private static Type[] swigMethodTypes51 = new Type[]
		{
			typeof(OdGeScale3d)
		};

		private static Type[] swigMethodTypes52 = new Type[0];

		private static Type[] swigMethodTypes53 = new Type[]
		{
			typeof(OdDbObjectId),
			typeof(ReferenceType)
		};

		public delegate IntPtr SwigDelegateOdIdFiler_0(IntPtr protocolClass);

		public delegate IntPtr SwigDelegateOdIdFiler_1();

		public delegate int SwigDelegateOdIdFiler_2();

		public delegate void SwigDelegateOdIdFiler_3();

		public delegate int SwigDelegateOdIdFiler_4();

		public delegate IntPtr SwigDelegateOdIdFiler_5();

		public delegate int SwigDelegateOdIdFiler_6(MaintReleaseVer pMaintReleaseVer);

		public delegate int SwigDelegateOdIdFiler_7();

		public delegate void SwigDelegateOdIdFiler_8(IntPtr pFilerController);

		public delegate IntPtr SwigDelegateOdIdFiler_9();

		public delegate void SwigDelegateOdIdFiler_10(int offset, int seekType);

		public delegate uint SwigDelegateOdIdFiler_11();

		public delegate bool SwigDelegateOdIdFiler_12();

		[return: MarshalAs(UnmanagedType.LPWStr)]
		public delegate string SwigDelegateOdIdFiler_13();

		public delegate void SwigDelegateOdIdFiler_14(IntPtr buffer, uint numBytes);

		public delegate sbyte SwigDelegateOdIdFiler_15();

		public delegate byte SwigDelegateOdIdFiler_16();

		public delegate short SwigDelegateOdIdFiler_17();

		public delegate int SwigDelegateOdIdFiler_18();

		public delegate long SwigDelegateOdIdFiler_19();

		public delegate IntPtr SwigDelegateOdIdFiler_20();

		public delegate double SwigDelegateOdIdFiler_21();

		public delegate IntPtr SwigDelegateOdIdFiler_22();

		public delegate IntPtr SwigDelegateOdIdFiler_23();

		public delegate IntPtr SwigDelegateOdIdFiler_24();

		public delegate IntPtr SwigDelegateOdIdFiler_25();

		public delegate IntPtr SwigDelegateOdIdFiler_26();

		public delegate IntPtr SwigDelegateOdIdFiler_27();

		public delegate IntPtr SwigDelegateOdIdFiler_28();

		public delegate IntPtr SwigDelegateOdIdFiler_29();

		public delegate IntPtr SwigDelegateOdIdFiler_30();

		public delegate IntPtr SwigDelegateOdIdFiler_31();

		public delegate void SwigDelegateOdIdFiler_32(bool value);

		public delegate void SwigDelegateOdIdFiler_33([MarshalAs(UnmanagedType.LPWStr)] string value);

		public delegate void SwigDelegateOdIdFiler_34(IntPtr buffer);

		public delegate void SwigDelegateOdIdFiler_35(sbyte value);

		public delegate void SwigDelegateOdIdFiler_36(byte value);

		public delegate void SwigDelegateOdIdFiler_37(short value);

		public delegate void SwigDelegateOdIdFiler_38(int value);

		public delegate void SwigDelegateOdIdFiler_39(long value);

		public delegate void SwigDelegateOdIdFiler_40(IntPtr value);

		public delegate void SwigDelegateOdIdFiler_41(double value);

		public delegate void SwigDelegateOdIdFiler_42(IntPtr value);

		public delegate void SwigDelegateOdIdFiler_43(IntPtr value);

		public delegate void SwigDelegateOdIdFiler_44(IntPtr value);

		public delegate void SwigDelegateOdIdFiler_45(IntPtr value);

		public delegate void SwigDelegateOdIdFiler_46(IntPtr value);

		public delegate void SwigDelegateOdIdFiler_47(IntPtr value);

		public delegate void SwigDelegateOdIdFiler_48(IntPtr value);

		public delegate void SwigDelegateOdIdFiler_49(IntPtr value);

		public delegate void SwigDelegateOdIdFiler_50(IntPtr value);

		public delegate void SwigDelegateOdIdFiler_51(IntPtr value);

		public delegate bool SwigDelegateOdIdFiler_52();

		public delegate void SwigDelegateOdIdFiler_53(IntPtr id, int rt);
	}
}
